home *** CD-ROM | disk | FTP | other *** search
/ Remix Doll 3: Dirty Sally / Remix Doll 3: Dirty Sally.iso / drtyslly.exe / SHARED.DXR / 04971_TApp.ls < prev    next >
Encoding:
Text File  |  1995-02-11  |  3.2 KB  |  159 lines

  1. property fViewList, fMainLayer, fChoreList, fMessengerList, fPrvMousePt, fPrvRollSprNum
  2. global kMaxSpriteChan
  3.  
  4. on birth me
  5.   mIApp(me)
  6.   return me
  7. end
  8.  
  9. on mIApp me
  10.   mIViewList(me)
  11.   mIMainLayer(me)
  12.   mIChoreList(me)
  13.   mIMessengerList(me)
  14.   mResetIdleProp(me)
  15. end
  16.  
  17. on mIViewList me
  18.   set fViewList to [0, 0]
  19.   repeat with aViewCount = 1 to kMaxSpriteChan
  20.     mStView(me, aViewCount, 0)
  21.   end repeat
  22. end
  23.  
  24. on mIMainLayer me
  25.   set fMainLayer to 0
  26. end
  27.  
  28. on mIChoreList me
  29.   set fChoreList to []
  30. end
  31.  
  32. on mIMessengerList me
  33.   set fMessengerList to []
  34. end
  35.  
  36. on mResetIdleProp me
  37.   set fPrvMousePt to point(-1, -1)
  38.   set fPrvRollSprNum to 1
  39. end
  40.  
  41. on mStView me, vSprNum, vView
  42.   setAt(fViewList, vSprNum, vView)
  43. end
  44.  
  45. on mGtView me, vSprNum
  46.   return getAt(fViewList, vSprNum)
  47. end
  48.  
  49. on mDispViewList me
  50.   repeat with aViewCount = 1 to kMaxSpriteChan
  51.     set aViewID to EMPTY
  52.     set aPuppetState to EMPTY
  53.     set aView to mGtView(me, aViewCount)
  54.     if objectp(aView) then
  55.       set aViewID to mGtID(aView)
  56.       set aPuppetState to mIsPuppet(aView)
  57.     end if
  58.     put aViewCount & ":" & aView & " : " & aViewID & " : " & aPuppetState
  59.   end repeat
  60. end
  61.  
  62. on mDVL me
  63.   mDispViewList(me)
  64. end
  65.  
  66. on mNewMainLayer me, vLayerType, vGoTo
  67.   busyCurs()
  68.   mDisposMainLayer(me)
  69.   go(label(vGoTo))
  70.   set fMainLayer to NewObj(vLayerType)
  71.   resetCurs()
  72. end
  73.  
  74. on mDisposMainLayer me
  75.   if objectp(fMainLayer) then
  76.     mDeath(fMainLayer)
  77.     set fMainLayer to 0
  78.   end if
  79. end
  80.  
  81. on mGtMainLayer me
  82.   return fMainLayer
  83. end
  84.  
  85. on mReqMorningCall me, vObj
  86.   add(fChoreList, vObj)
  87. end
  88.  
  89. on mCancelMorningCall me, vObj
  90.   if count(fChoreList) > 0 then
  91.     set aNumChore to count(fChoreList)
  92.     repeat with aChoreNum = 1 to aNumChore
  93.       set aChore to getAt(fChoreList, aChoreNum)
  94.       if aChore = vObj then
  95.         deleteAt(fChoreList, aChoreNum)
  96.         exit repeat
  97.       end if
  98.     end repeat
  99.   end if
  100. end
  101.  
  102. on mAddMessenger me, vObj
  103.   add(fMessengerList, vObj)
  104. end
  105.  
  106. on mIdle me
  107.   mPerformMessenger(me)
  108.   mWakeObjects(me)
  109.   mCheckRoll(me)
  110. end
  111.  
  112. on mPerformMessenger me
  113.   if count(fMessengerList) > 0 then
  114.     set aNumMessenger to count(fMessengerList)
  115.     repeat with aMessengerNum = 1 to aNumMessenger
  116.       mSayMessage(getAt(fMessengerList, aMessengerNum))
  117.     end repeat
  118.     repeat with aMessengerNum = 1 to aNumMessenger
  119.       deleteAt(fMessengerList, aMessengerNum)
  120.     end repeat
  121.   end if
  122. end
  123.  
  124. on mWakeObjects me
  125.   if count(fChoreList) > 0 then
  126.     set aNumChore to count(fChoreList)
  127.     repeat with aChoreNum = 1 to aNumChore
  128.       mWakeUp(getAt(fChoreList, aChoreNum))
  129.     end repeat
  130.   end if
  131. end
  132.  
  133. on mCheckRoll me
  134.   set aNewMousePt to point(the mouseH, the mouseV)
  135.   if fPrvMousePt = aNewMousePt then
  136.     exit
  137.   else
  138.     set fPrvMousePt to aNewMousePt
  139.     repeat with aSerchSprNum = kMaxSpriteChan down to 1
  140.       if rollOver(aSerchSprNum) then
  141.         set aSerchView to mGtView(me, aSerchSprNum)
  142.         if objectp(aSerchView) then
  143.           if aSerchSprNum = fPrvRollSprNum then
  144.             exit repeat
  145.             next repeat
  146.           end if
  147.           set aLeaveView to mGtView(me, fPrvRollSprNum)
  148.           if objectp(aLeaveView) then
  149.             mLeaveMouse(aLeaveView)
  150.           end if
  151.           mEnterMouse(aSerchView)
  152.           set fPrvRollSprNum to aSerchSprNum
  153.           exit repeat
  154.         end if
  155.       end if
  156.     end repeat
  157.   end if
  158. end
  159.